package io.dshubs.archives.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.dshubs.commons.mybatis.entity.BaseTenantEntity;
import io.dshubs.commons.tools.utils.DateUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 档案利用记录表
 * </p>
 *
 * @author tan
 * @since 2021-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("archive_using_records")
public class ArchiveUsingRecords extends BaseTenantEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 申请人
     */
    @TableField("proposer")
    private String proposer;

    /**
     * 利用组织
     */
    @TableField("use_tenant_code")
    private Long useTenantCode;

    /**
     * 档号
     */
    @TableField("file_number")
    private String fileNumber;

    /**
     * 题名
     */
    @TableField("title")
    private String title;

    /**
     * 全宗类id
     */
    @TableField("category_id")
    private String categoryId;

    /**
     * 利用方式
     */
    @TableField("use_way")
    private Long useWay;

    /**
     * 申请日期
     */
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN,timezone = "GMT+8")
    @TableField("apply_date")
    private Date applyDate;

    /**
     * 预计归还日期
     */
    @TableField("predict_date")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN,timezone = "GMT+8")
    private Date predictDate;

    /**
     * 实际归还日期
     */
    @TableField("return_date")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN,timezone = "GMT+8")
    private Date returnDate;
    /**
     * 借阅开始时间
     */
    @TableField("borrow_start_date")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN,timezone = "GMT+8")
    private Date borrowStartDate;

    /**
     * 借阅结束时间
     */
    @TableField("borrow_end_date")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date borrowEndDate;

    /**
     * 借阅临近过期--0：未过期，1：临近过期，2：已过期
     */
    @TableField("borrow_status")
    private Integer borrowStatus;

    /**
     * 利用状态
     */
    @TableField("use_state")
    private String useState;

    @TableField("del_flag")
    private Integer delFlag;

    @TableField("remark")
    private String remark;

    @TableField("application_material")
    private String applicationMaterial;

    @TableField("user_purpose")
    private Integer userPurpose;

    /**
     * 更新者
     */
    @TableField("updater")
    private Long updater;

    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;


    @TableField(exist = false)
    private String categoryName;



    @TableField(exist = false)
    private String useTenantName;

    @TableField(exist = false)
    private String tenantName;

    /**
     * 档号
     */
    @TableField(exist = false)
    private List<String> fileNumberList;

}
